テストpart1#include LRESULT CALLBACK WndProc(HWND hWnd ,UINT uMessage ,WPARAM wParam ,LPARAM lParam); int WINAPI WinMain( HINSTANCE hInstance , //インスタンス(ロードされたプログラム)のハンドル HINSTANCE hPrevInstance , //直前に起動されたプログラムのインスタンスハンドル PSTR lpCmdLine , //コマンドラインパラメータ int nCmdShow ) { //ウインドウの状態 HWND hWnd; //HWNDでウインドウハンドルhwndを宣言 WNDCLASS winc; //ウインドクラス構造体 winc.style = CS_HREDRAW | CS_VREDRAW; //CS_HREDRAW(水平方向)またはCS_VREDRAW(垂直方向)のウインドウサイズの変更時に再描画 winc.lpfnWndProc = DefWindowProc; //ウインドウプロシージャのアドレス。デフォルトに設定 winc.cbClsExtra = winc.cbWndExtra = 0; //クラスの中の補助データ領域の確保。使わないので0 winc.hInstance = hInstance; //WinMainのパラメータhInstanceを設定 winc.hIcon = LoadIcon(NULL , IDI_APPLICATION); //LoadIcon関数を用いてアイコンの設定 winc.hCursor = LoadCursor(NULL , IDC_ARROW); //LoadCursor関数を使ってマウスカーソルの設定 winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //クライアント(描画)領域の背景色の設定 winc.lpszMenuName = NULL; //メニューの情報。NULLでなしを設定 winc.lpszClassName = TEXT("KITTY"); //ウインドクラスの識別のための名前 if (!RegisterClass(&winc)) return 0; //終了 hWnd = CreateWindow( TEXT("こけくきか") , TEXT("おえういあ") , //ウインドクラス名,ウインドウのキャプションバーに表示される文字列, WS_OVERLAPPEDWINDOW , //ウインドウのスタイルの設定。WS_OVERLAPPEDWINDOWで一般的なウインドウになる, 100 , 100 , 200 , 200 , NULL , NULL , //起動時のウインドウの水平,垂直,幅,高さ,親ウインドウのハンドル。使わないのでNULL,メニューのハンドル。使わないのでNULL, hInstance , NULL //WinMainのパラメータhInstanceを設定,ウインドプロシージャのlparamの値の設定。特に無いのでNULL, ); // if (hWnd == NULL) return 0; //hwndがNULLなら終了 // ASSRET(hWnd); // ShowWindow(hWnd , SW_SHOW); //非クライアント領域の表示。SW_SHOWでウィンドウをアクティブにして、現在の位置とサイズで表示 ShowWindow(hWnd , nCmdShow); UpdateWindow(hWnd); MessageBox(NULL , TEXT("あいうえお") , //メッセージボックスの表示(オーナーウインドウの指定。NULLでオーナーウインドなし,MessageBoxの中に表示するテキスト, TEXT("かきこけこ") , MB_ICONINFORMATION); //MessageBoxのキャプションバーに表示するテキスト,ボタンの種類の表示。MB_ICONINFORMATIONで"i"マークのアイコン); return 0; //終了 } LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); break; default: return(DefWindowProc(hWnd, msg, wParam, lParam)); } return (0L); } part2 #include LRESULT CALLBACK WndProc(HWND hWnd ,UINT uMessage ,WPARAM wParam ,LPARAM lParam); int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR lpszArgs, int nWinMode) { HWND hWnd; MSG mMsg; WNDCLASSEX winclass; winclass.hInstance = hThisInst; winclass.lpszClassName = "Skelton01"; winclass.lpfnWndProc = WndProc; winclass.style = CS_HREDRAW | CS_VREDRAW; winclass.cbSize = sizeof(WNDCLASSEX); winclass.lpszMenuName = NULL; winclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); winclass.hIconSm = LoadIcon(NULL,IDI_WINLOGO); winclass.hCursor = LoadCursor(NULL,IDC_ARROW); winclass.cbClsExtra = 0; winclass.cbWndExtra = 0; winclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); if(!RegisterClassEx(&winclass)){ return (0); } hWnd = CreateWindowEx( WS_EX_APPWINDOW, "Skelton01", "windows Skelton Program", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, HWND_DESKTOP, NULL, hThisInst, NULL); ShowWindow(hWnd,nWinMode); UpdateWindow(hWnd); while(GetMessage(&mMsg,NULL,0,0)){ TranslateMessage(&mMsg); DispatchMessage(&mMsg); } return mMsg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); break; default: return(DefWindowProc(hWnd, msg, wParam, lParam)); } return (0L); } |